Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement boolean logic in bitmap2 #53

Merged
merged 1 commit into from
Oct 25, 2024

Conversation

DmitryBubelnikSoftSmile

implented or,xor,and and method for getting bits for bitmap2

@@ -68,6 +68,8 @@ public Bitmap2(BitArray bits, Vector2i dimensions)

public AxisAlignedBox2i GridBounds => new AxisAlignedBox2i(Vector2i.Zero, Dimensions);

public BitArray Bits => (BitArray)_bits.Clone();
Copy link

@amakhno amakhno Oct 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Минор: Может быть неочевидно для вызывающего, что сейчас произойдет копирование. я бы иначе назвал, типа BitsCopy. + можно переиспользовать в методах ниже, все равно с огромной вероятностью инлайн случится в релизной версии

@@ -68,6 +68,8 @@ public Bitmap2(BitArray bits, Vector2i dimensions)

public AxisAlignedBox2i GridBounds => new AxisAlignedBox2i(Vector2i.Zero, Dimensions);

public BitArray BitsCopy => (BitArray)_bits.Clone();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

property_Get воспринимается программистами как бесплатный с вычислительной точки зрения ресурс. а в данном случае за пропертёй скрывается клонирование (выделение памяти). давай оформим это в виде Метода с соответствующим названием (типа MakeBitArrayCopy())

@DmitryBubelnikSoftSmile DmitryBubelnikSoftSmile merged commit e072fd6 into softsmile Oct 25, 2024
1 check passed
@DmitryBubelnikSoftSmile DmitryBubelnikSoftSmile deleted the refactor-bitmap2 branch October 25, 2024 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants